# 编译器定义
CC = gcc

# 编译选项（头文件路径、调试信息等）
CFLAGS = -Iinc -g

# 链接选项（库路径、库名称等）
LDFLAGS = -g

# 源文件列表（注意文件名大小写一致性）
SRCS = a.c b.c

# 目标文件列表（自动替换 .c 为 .o）
OBJS = $(SRCS:.c=.o)

# 最终生成的可执行文件名称
TARGET = p

# 默认规则：生成可执行文件
$(TARGET): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $^

# 编译规则：从 .c 生成 .o
%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

# 清理规则：删除中间文件和可执行文件
clean:
	rm -f $(OBJS) $(TARGET)
